# 使用 Rocky Linux 9.0 作为基础镜像
FROM rockylinux:9.0

# 设置环境变量
ENV MYSQL_VERSION=8.0.33

# 安装必要的依赖
RUN dnf update -y && \
    dnf install -y wget && \
    dnf clean all

# 导入 MySQL GPG 密钥
RUN wget https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 && \
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022

# 安装 MySQL 社区仓库 RPM 包
RUN wget https://repo.mysql.com//mysql80-community-release-el9-1.noarch.rpm && \
    rpm -ivh mysql80-community-release-el9-1.noarch.rpm

# 更新仓库缓存并安装 MySQL 社区服务器
RUN dnf update -y && \
    dnf install -y mysql-community-server && \
    dnf clean all

# 创建 MySQL 数据目录
RUN mkdir -p /var/lib/mysql && \
    chown -R mysql:mysql /var/lib/mysql

# 创建 MySQL 日志目录
RUN mkdir -p /var/log/mysql && \
    chown -R mysql:mysql /var/log/mysql

# 拷贝 MySQL 配置文件
COPY my.cnf /etc/my.cnf

# 初始化 MySQL 数据目录
RUN mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql --log-error=/var/log/mysql/mysqld.log

# 拷贝初始化脚本
COPY init.sql /docker-entrypoint-initdb.d/

# 暴露 MySQL 端口
EXPOSE 3306

# 启动 MySQL 服务
CMD ["mysqld", "--user=mysql", "--console"]
